package cn.calin.day05.demo45JDK9;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/*
    JDK9的新特性：
        List接口，set接口，Map接口：里面增加了一个静态的方法of，可以给集合一次性添加多个元素
        static <E> List<E> of (E...elements)
        使用前提：
            当集合中存储的元素的个数已经确定了不再改变时使用
        注意：
            1.of方法只适用于  List接口，set接口，Map接口，不适用于接口的实现类
            2.of方法的返回值是一个不能改变的集合，集合不能再使用add，put方法添加元素，会抛出异常
            3.Set接口和Map接口在调用of方法的时候，不能有重复的元素，否则会抛出异常
 */
public class Demo01JDK9 {
    public static void main(String[] args) {
        List<String> list = List.of("a", "b", "c", "a", "d");
        System.out.println(list);//[a, b, c, a, d]
        //list.add("w");//UnsupportedOperationException不支持操作异常，不能添加参数

        Set<String> set = Set.of("a", "b", "a", "c", "d");
    //    System.out.println(set);//.IllegalArgumentException非法参数异常，有重复元素
    //    set.add("w");//UnsupportedOperationException不支持操作异常，不能添加参数

        Map<String,Integer> map=Map.of("张三",18,"李四",19,"王五",20,"张三",19);
    //    System.out.println(map);//.IllegalArgumentException有重复元素
    //    map.add()//UnsupportedOperationException不支持操作异常，不能添加参数
    }
}
